Thuật toán apriori là gì? Các nghiên cứu khoa học liên quan

Thuật toán Apriori là phương pháp khai phá luật kết hợp dùng nguyên lý Apriori property để tìm tập mục phổ biến và xây dựng luật kết hợp từ dữ liệu giao dịch. Nó xác định mối liên hệ giữa các mục qua các chỉ số hỗ trợ, tin cậy và lift, ứng dụng rộng rãi trong phân tích giỏ hàng và hệ thống gợi ý.

Khái niệm và định nghĩa thuật toán Apriori

Thuật toán Apriori là một trong những phương pháp khai phá luật kết hợp (association rule mining) nổi tiếng, được Agrawal và Srikant đề xuất năm 1994. Mục tiêu chính của thuật toán là tìm ra các tập mục (itemsets) thường xuyên xuất hiện cùng nhau trong cơ sở dữ liệu giao dịch. Những tập mục này sau đó được sử dụng để xây dựng các luật kết hợp có ý nghĩa thống kê, hỗ trợ ra quyết định trong kinh doanh, thương mại điện tử và nhiều lĩnh vực khác.

Cốt lõi của Apriori dựa trên nguyên tắc “Apriori property” — nếu một tập mục là phổ biến (frequent itemset), tất cả các tập con của nó cũng phổ biến. Ngược lại, nếu một tập mục không phổ biến, mọi tập cha của nó sẽ không thể phổ biến. Quy tắc này giúp giảm đáng kể số lượng ứng viên cần kiểm tra, từ đó tiết kiệm thời gian và tài nguyên tính toán.

Trong ứng dụng thực tế, Apriori thường được áp dụng để phân tích giỏ hàng (market basket analysis), phát hiện mối liên hệ giữa các sản phẩm được mua cùng nhau. Ví dụ, nếu dữ liệu cho thấy khách hàng mua bánh mì thường mua thêm bơ, hệ thống có thể đưa ra đề xuất hoặc khuyến mãi phù hợp để tăng doanh số.

Nguyên lý Apriori property

Nguyên lý Apriori property là nền tảng hoạt động của thuật toán. Phát biểu chính: “Nếu một tập mục là phổ biến, mọi tập con của nó cũng phổ biến”. Nguyên lý này giúp loại bỏ sớm các tập mục không cần thiết, tránh tính toán thừa.

Nguyên lý này cho phép thuật toán bỏ qua toàn bộ các tập mục cha nếu một tập con đã bị loại vì không đạt ngưỡng hỗ trợ tối thiểu (minsup). Điều này đặc biệt hữu ích khi xử lý dữ liệu lớn, vì số lượng tập hợp con của một tập hợp là rất lớn (2n với n là số mục).

Các khái niệm cơ bản

Để hiểu rõ cách hoạt động của Apriori, cần nắm vững các khái niệm sau:

  • Itemset: Tập hợp các mục (items) xuất hiện trong một giao dịch. Ví dụ: {Bánh mì, Sữa}.
  • Support (độ hỗ trợ): Tỷ lệ giao dịch chứa một tập mục nhất định:Support(X)=soˆˊ giao dịch chứa Xtổng soˆˊ giao dịch\mathrm{Support}(X) = \frac{\text{số giao dịch chứa } X}{\text{tổng số giao dịch}}
  • Confidence (độ tin cậy): Xác suất một giao dịch chứa Y khi đã chứa X:Confidence(XY)=Support(XY)Support(X)\mathrm{Confidence}(X \Rightarrow Y) = \frac{\mathrm{Support}(X \cup Y)}{\mathrm{Support}(X)}
  • Lift: Mức độ tăng xác suất xuất hiện đồng thời của X và Y so với khi giả định độc lập:Lift(XY)=Support(XY)Support(X)Support(Y)\mathrm{Lift}(X \Rightarrow Y) = \frac{\mathrm{Support}(X \cup Y)}{\mathrm{Support}(X) \cdot \mathrm{Support}(Y)}

Bảng ví dụ minh họa:

Tập mụcSố giao dịch chứaSupport (%)
{Bánh mì}4100%
{Sữa}4100%
{Bơ}375%
{Bánh mì, Sữa}375%

Các bước thực hiện thuật toán Apriori

Quy trình thực hiện Apriori gồm các bước chính sau:

  1. Khởi tạo: Liệt kê tất cả các tập mục đơn lẻ (1-itemset) và tính độ hỗ trợ của từng tập mục.
  2. Lọc: Loại bỏ các tập mục có độ hỗ trợ nhỏ hơn ngưỡng minsup.
  3. Tạo ứng viên: Dựa vào các tập mục phổ biến kích thước k, tạo tập mục ứng viên kích thước k+1 bằng cách kết hợp các tập mục phổ biến hiện tại.
  4. Tính toán: Xác định độ hỗ trợ của các ứng viên và giữ lại các tập đạt yêu cầu.
  5. Lặp lại: Tiếp tục cho đến khi không còn tập mục phổ biến mới được tìm thấy.

Sau khi có tập mục phổ biến, thuật toán sẽ sinh các luật kết hợp thỏa mãn đồng thời minsupminconf. Mỗi luật được đánh giá bằng các chỉ số Support, Confidence, và Lift để đảm bảo tính hữu ích và ý nghĩa thực tiễn.

Ví dụ minh họa

Để hiểu rõ hơn cách hoạt động của thuật toán Apriori, xét một cơ sở dữ liệu giao dịch nhỏ gồm 5 giao dịch như sau:

Mã giao dịchSản phẩm
T1Bánh mì, Sữa
T2Bánh mì, Bơ, Sữa
T3Sữa, Bơ
T4Bánh mì, Sữa, Bơ
T5Bánh mì, Nước cam

Giả sử ngưỡng hỗ trợ tối thiểu minsup = 60% và ngưỡng độ tin cậy tối thiểu minconf = 80%. Quy trình Apriori sẽ như sau:

  • Bước 1: Liệt kê tất cả tập mục 1 phần tử, tính support và loại bỏ tập mục có support < 60%.
  • Bước 2: Từ các tập mục phổ biến 1 phần tử, tạo tập mục ứng viên 2 phần tử, tính support và lọc theo minsup.
  • Bước 3: Tiếp tục tạo tập mục ứng viên 3 phần tử từ các tập phổ biến 2 phần tử.
  • Bước 4: Sinh luật kết hợp từ các tập phổ biến, giữ lại các luật có confidence ≥ 80%.

Kết quả có thể bao gồm luật: {Bánh mì} ⇒ {Sữa} với support = 60%, confidence = 100%, lift > 1 cho thấy mối liên hệ tích cực.

Ưu điểm và hạn chế

Ưu điểm của Apriori:

  • Nguyên lý rõ ràng, dễ triển khai trong hầu hết các ngôn ngữ lập trình.
  • Áp dụng linh hoạt cho nhiều loại dữ liệu giao dịch khác nhau.
  • Dễ giải thích kết quả, đặc biệt trong phân tích kinh doanh.

 

Hạn chế:

  • Hiệu suất giảm mạnh khi dữ liệu lớn hoặc khi minsup thấp, do số lượng tập ứng viên tăng nhanh.
  • Yêu cầu nhiều lần quét cơ sở dữ liệu, tốn thời gian I/O.
  • Không phù hợp với dữ liệu có độ dày đặc cao (dense datasets).

 

Cải tiến và biến thể

Để khắc phục hạn chế, nhiều biến thể và cải tiến của Apriori đã được đề xuất:

  • FP-Growth: Sử dụng cấu trúc FP-tree để lưu trữ thông tin, giảm số lần quét dữ liệu và không cần tạo tập ứng viên.
  • ECLAT: Sử dụng giao danh sách giao dịch (tid-list intersection) để tính support nhanh hơn.
  • AprioriTid & AprioriHybrid: Giảm số lần truy cập cơ sở dữ liệu bằng cách tính toán support từ dữ liệu đã xử lý.
  • Hash-based Apriori: Sử dụng bảng băm để giảm số lượng ứng viên cần kiểm tra.

Các thuật toán này đều giữ nguyên nguyên tắc cơ bản của Apriori nhưng cải thiện đáng kể hiệu suất cho các bộ dữ liệu lớn.

Ứng dụng thực tế

Thuật toán Apriori và các biến thể được ứng dụng rộng rãi trong nhiều lĩnh vực:

  • Phân tích giỏ hàng (Market Basket Analysis): Xác định sản phẩm thường mua cùng nhau để tối ưu trưng bày, gợi ý mua hàng và khuyến mãi.
  • Hệ thống gợi ý: Dự đoán sản phẩm hoặc nội dung người dùng quan tâm dựa trên lịch sử giao dịch hoặc hành vi.
  • Phân tích y tế: Xác định mối liên hệ giữa triệu chứng và bệnh lý hoặc giữa các loại thuốc thường kê chung.
  • Phát hiện gian lận: Tìm các mẫu giao dịch bất thường có liên quan đến hoạt động gian lận.
  • Khai thác dữ liệu sinh học: Tìm mối liên hệ giữa gen, protein hoặc các chỉ số sinh học.

So sánh với các phương pháp khác

Bảng so sánh giữa Apriori và FP-Growth:

Tiêu chíAprioriFP-Growth
Chiến lượcTạo ứng viên và lọcXây dựng cây FP-tree
Số lần quét dữ liệuNhiềuÍt hơn
Bộ nhớÍt khi dữ liệu nhỏNhiều hơn cho cây FP
Hiệu suất dữ liệu lớnThấpCao

Hướng nghiên cứu tương lai

Các hướng nghiên cứu phát triển thuật toán Apriori tập trung vào:

  • Kết hợp Apriori với học máy để cải thiện khả năng dự đoán.
  • Song song hóa và phân tán hóa Apriori cho xử lý dữ liệu Big Data.
  • Áp dụng Apriori cho dữ liệu phi cấu trúc như văn bản, log truy cập web.
  • Khai thác luật kết hợp mờ (fuzzy association rules) để xử lý dữ liệu không chắc chắn.

Sự kết hợp này mở rộng khả năng ứng dụng của Apriori sang các lĩnh vực mới như AI, IoT và phân tích mạng xã hội.

 

Tài liệu tham khảo

  • Agrawal R, Srikant R. "Fast algorithms for mining association rules." Proc. 20th VLDB Conf., 1994. (PDF).
  • Han J, Kamber M, Pei J. Data Mining: Concepts and Techniques. 4th ed. Morgan Kaufmann; 2022.
  • Borgelt C. "Frequent Item Set Mining." (link).
  • Tan PN, Steinbach M, Kumar V. Introduction to Data Mining. Pearson; 2019.
  • ScienceDirect. "Apriori Algorithm Overview." (link).

Các bài báo, nghiên cứu, công bố khoa học về chủ đề thuật toán apriori:

Một cách tiếp cận tìm tập phổ biến dựa trên giàn trong khai phá luật kết hợp
Tạp chí Khoa học và Công nghệ - Đại học Đà Nẵng - - Trang 47-49 - 2014
Khai phá luật kết hợp trong các cơ sở dữ liệu giao dịch lớn là bài toán đã được nhiều người quan tâm nghiên cứu. Bài toán khai phá luật kết hợp thường được thực hiện qua hai bước. Trong đó, bước đầu tiên là tìm tập phổ biến và bước thứ hai tìm các luật kết hợp dựa trên tập phổ biến tìm được. Hiện đã có rất nhiều thuật toán tìm tập phổ biến và thuật toán đề xuất sinh giàn từ quan hệ nhị phân, tuy n...... hiện toàn bộ
#Luật kết hợp #Tập phổ biến #giàn #Lược đồ Hasse #Thuật toán Apriori
Thuật toán hiệu quả để khai thác các tập hợp mục trung bình có giá trị cao trong cơ sở dữ liệu giao dịch gia tăng Dịch bởi AI
Springer Science and Business Media LLC - Tập 47 - Trang 114-131 - 2017
Trong bài báo này, chúng tôi trình bày một thuật toán mới để khai thác hiệu quả các tập hợp mục có giá trị trung bình cao (HAUIs) từ các cơ sở dữ liệu gia tăng, trong đó thể tích của chúng có thể được mở rộng một cách động. Các thuật toán trước đây có điểm kém hiệu quả là chúng phải quét một cơ sở dữ liệu nhất định nhiều lần để tạo ra các tập hợp mục ứng cử viên và xác định các tập hợp mục hợp lệ ...... hiện toàn bộ
#khai thác dữ liệu #tập hợp mục #cơ sở dữ liệu gia tăng #thuật toán Apriori #tối ưu hóa bộ nhớ
Nghiên cứu về hệ thống phân cụm cho các khung dữ liệu nhị phân của mạng cảm biến không dây Dịch bởi AI
Springer Science and Business Media LLC - Tập 19 - Trang 783-791 - 2016
Khi sự phát triển của mạng trở nên phức tạp hơn, việc phân tích ngược giao thức đã thu hút ngày càng nhiều sự chú ý và được áp dụng rộng rãi trong phát hiện xâm nhập, phát hiện lỗ hổng và các biện pháp phản điện tử. Để tách biệt các khung dữ liệu nhị phân thu được dưới môi trường mạng không dây phức tạp nhằm cung cấp điều kiện cần thiết cho việc phân tích giao thức ngược, một hệ thống phân cụm dàn...... hiện toàn bộ
#giao thức ngược #phân tích ngược #khung dữ liệu nhị phân #phân cụm #thuật toán AC #thuật toán Apriori #mạng cảm biến không dây
Thuật toán Đa Lần cho Khai Thác Quy Tắc Liên Kết trong Cơ Sở Dữ Liệu Văn Bản Dịch bởi AI
Knowledge and Information Systems - Tập 3 - Trang 168-183 - 2001
Trong bài báo này, chúng tôi đề xuất hai thuật toán mới nhằm khai thác các quy tắc liên kết giữa các từ trong cơ sở dữ liệu văn bản. Đặc điểm của cơ sở dữ liệu văn bản khá khác biệt so với cơ sở dữ liệu giao dịch bán lẻ, và các thuật toán khai thác hiện có không thể xử lý hiệu quả cơ sở dữ liệu văn bản do số lượng tập hợp mục (tức là các từ) cần được đếm là rất lớn. Hai thuật toán khai thác nổi ti...... hiện toàn bộ
#khai thác quy tắc liên kết #cơ sở dữ liệu văn bản #thuật toán Apriori #thuật toán DHP #thuật toán Đa Lần
Dup-apriori: Thuật toán hiệu quả khai thác tập phổ biến dựa trên giao dịch trùng lặp
Tạp chí Khoa học và Công nghệ - Đại học Đà Nẵng - - Trang 50-55 - 2022
Thuật toán Apriori là thuật toán kinh điển được dùng cho khai thác tập phổ biến từ dữ liệu giao dịch nhị phân – giai đoạn quan trọng trong khai thác luật kết hợp. Đây là thuật toán được nhiều nhóm nghiên cứu quan tâm cải tiến, cũng như sử dụng khai thác trên nhiều loại dữ liệu khác nhau. Trong bài viết này, tác giả trình bày tiếp cận mới trong cải tiến hiệu quả thuật toán Apriori dựa trên giao dịc...... hiện toàn bộ
#luật kết hợp #tập phổ biến #thuật toán DUP-Apriori
Tổng số: 5   
  • 1